home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / os2 / srefv12i.zip / all_file.ctl < prev    next >
Text File  |  1997-03-08  |  13KB  |  270 lines

  1. ; Support file for SRE-FILTER HTTP server. 2/97
  2. ; This file is used to store SEL-specific access information.
  3. ;
  4. ; SRE-FILTER will attempt to (exact or wildcard) match the 
  5. ; request selector with one of these entries.
  6. ;
  7. ; Each entry should be a space delimited list containing:
  8. ;  HOST_NICKNAME// NAME  RESOURCE_PRIVS , PERMISSIONS_LIST , SEL_REALM , FAIL_FILE , ADV_OPTIONS_FILE
  9. ;
  10. ; HOST_NICKNAME//)  Optional.
  11. ;     Used to identify "host specific" entries.  If a host_nickname is present,
  12. ;     then the entry is only used with requests to hosts having this host_Nickname.
  13. ;
  14. ; NAME) Required.
  15. ;   The NAME  should be a possible request selector
  16. ;       (to be compared against the request selector sent by the clien)
  17. ;       It may indicate a file, or a server side action.
  18. ;       It may contain the * (wildcard) character.
  19. ;
  20. ;       Definition of "request selector:"
  21. ;           The "request selector" is the non-domain part of the URL the
  22. ;           client selected.
  23. ;           For example, a URL of
  24. ;                 http://your.server/big/dance/price.htm
  25. ;           would generate a request string of
  26. ;                 GET  /big/dance/price.htm  HTTP/1.0
  27. ;           and the selector would be
  28. ;                big/dance/price.htm
  29. ;
  30. ; RESOURCE_PRIVS) Optional.
  31. ;      The RESOURCE_PRIVS  should be a (space delimited) list.
  32. ;      It can contain 2 forms of privileges:
  33. ;          ONE_OF -- the client has to have "one of" these ONE_OF privileges
  34. ;          MUST_HAVE -- the client "must have" all of the MUST_HAVE privileges
  35. ;      To specify a MUST_HAVE privilege, add a & character at the beginning.
  36. ;      Otherwise, it is assumed to be a ONE_OF privilege
  37. ;                 (in other words, ONE_OF is the default form)
  38. ;.
  39. ;      For example, the list:
  40. ;           SALMON &TROUT HALIBUT
  41. ;      means that the client must have a TROUT privilege, as well as
  42. ;      either a SALMON or HALIBUT privilege (note that the TROUT privilege
  43. ;      is necessary but NOT sufficient!)
  44. ;
  45. ;      There are a few special "ONE_OF" privileges: *  YES and NO
  46. ;          YES and * mean "allow everyone in" (given MUST_HAVE privs are ok)
  47. ;          NO means "only superusers"
  48. ;
  49. ;     Notes:
  50. ;
  51. ;       *   If there are no ONE_OF conditions, it is assumed that the
  52. ;           "ONE_OF conditions are automatically satisfied" (the same can be
  53. ;           said if there  are no MUST_HAVE conditions).
  54. ;       *   The realm-specific resource privilege list (see below)
  55. ;           is appended to this RESOURCE_PRIVS list.
  56. ;       *   If the combination of this RESOURCE_PRIVS list, and a "realm-specific
  57. ;           resource privileges" list is empty (that is, neither is specified),
  58. ;           then access IS allowed.
  59. ;       *   If the ADD_RESOURCE_NAME='YES', then the "action" portion of the request
  60. ;           selector is added to the resource privilege list.
  61. ;       *   See ADDPRIVS.DOC for a discussion of how client's are granted 
  62. ;           privileges.
  63. ;
  64. ; PERMISSIONS_LIST) Optional.
  65. ;   The PERMISSIONS_LIST is optional (there MUST be comma seperating the
  66. ;       RESOURCE_PRIV and the PERMISSIONS_LIST)
  67. ;
  68. ;   Each of these permissions apply to <em>just this selector </em> (or, if
  69. ;   you used an *, to just this  set of selectors)
  70. ;     NO_SSI  : Suppress server side includes.
  71. ;     NO_SSP  : Suppress server side processing.
  72. ;     NO_CODE : Suppress SELECT and INTERPRET CODE ssi-keyphrases.
  73. ;           NO_CODE is a subset of NO_SSP (that is, if NO_SSP is present,
  74. ;           then NO_CODE is irrelevant)
  75. ;     CACHE :  ALWAYS cache this selector (assuming GoServe's caching is enabled).
  76. ;           Typically, if logon controls or access controls are in place, then
  77. ;           caching is disabled.  Use of CACHE allows one to override this
  78. ;           general rule for.
  79. ;      PUT :  Allow PUT method requests to "copy information to" the directory
  80. ;           represented by this selector (also used by GET_URL and PUT_FILE
  81. ;           facilities)
  82. ;    DELETE :  Allow DELETE method request to "delete" the file represented by
  83. ;           this selector.
  84. ;    NO_HTACCESS: Suppress the HTACCESS method.
  85. ;    NO_ALIAS   : Suppress SRE-Filter "aliasing."
  86. ;    NO_VIRTUAL : Suppress virtual directory lookup.
  87. ;    NO_POSTFILTER: Suppress post-filter processing (such as common-log auditing,
  88. ;               and augmentation of the SRE-Filter RECORD_ALL file).
  89. ;
  90. ;   The last three (NO_VIRTUAL, NO_ALIAS, and NO_POSTFILTER) are meant
  91. ;   to be used to avoid unnecessary processing.  Note that, NO_VIRTUAL
  92. ;   is ignored by CGI-BIN scripts and SRE-Filter addons (use the virtual
  93. ;   dircectory's limitation_lists instead).
  94. ;
  95. ; REALM) Optional.
  96. ;   The REALM is optional (there must be a comma between the REALM and the
  97. ;   PERMISSIONS_LIST).  The REALM is displayed as a SEL-specific realm
  98. ;   whenever SRE-Filter needs to "re prompt" the client for a 
  99. ;   new username/password (as when the user's first username/password
  100. ;   did not contain sufficient privileges to access the selector).
  101. ;
  102. ;   In addition, special !REALM entries in this file can be used as
  103. ;   shorthands for "additional sets of resource privileges" (see below).
  104. ;
  105. ;
  106. ; FAIL_FILE) Optional.
  107. ;    The FAIL_FILE  (sometimes refered to as the ACCESS_FAILURE_FILE)
  108. ;    is optional (there must be a comma between the FAIL_FILE
  109. ;    and the REALM). If the client does not have SEL-specific access
  110. ;    privileges, then the FAIL_FILE is used as a "response file".  Basically,
  111. ;    the FAIL_FILE "overrides" the ACCESS_FAIL_FILE parameter.
  112. ;    Note that the FAIL_FILE should be one of:
  113. ;              -1: If no access, do NOT ask for authorization. Useful when
  114. ;                  combined with "dynamic privileges"
  115. ;     0 or blank :  use generic access_fail_file (or send an authorization response)
  116. ;   filename.ext :  a fully qualified file name.
  117. ;
  118. ;  Actually, the ACCESS_FAIL_FILE can suppress use of this FAIL_FILE -- see
  119. ;  initfilt.doc for details.
  120. ;
  121. ; ADV_OPTS_FILE) Optional.
  122. ;  The ADV_OPTS_FILE is optional -- if you do specify it, you must 
  123. ;  precede it with a comma (to seperate it from the FAIL_FILE)
  124. ;  SRE-Filter allows you to specify several "advanced options", including:
  125. ;     * customization of the response header,
  126. ;     * execution of a rexx program before sending a file (sort of
  127. ;       "mid-filter" hook),
  128. ;     * suppression of SSI features (such as headers and footers) --
  129. ;  all on a request-selector-specific basis.  
  130. ;  To do this, you must use the ADV_OPTS_FILE parameter to specify a 
  131. ;  special "advanced options file". 
  132. ;  The ADV_OPTS_FILE should be a relative file name, though it may point to a
  133. ;  subdirectory (it will be interpreted relative to the goserve working
  134. ;  directory).  For more details, see ADV_OPTS.DOC
  135. ;
  136. ;                        ---------------------------
  137. ; NOTES:
  138. ;
  139. ; Special Entries: additional, REALM-specific, resource privileges
  140. ;
  141. ;     Each realm can have associated with it a list of "realm specific 
  142. ;     resource privileges".  If available, this (space delimited)
  143. ;     list is added to the RESOURCE_PRIVS list.
  144. ;     The syntax of these special entries is:
  145. ;           !REALM  realm_name  realm_privilege_list
  146. ;     See below for some examples of realm_privilege_lists.
  147. ;
  148. ;     NOTE: Currently, these realm entires are NOT host specific!
  149. ;          (Hint: To minimize confusion...
  150. ;                Use the host nickname as part of the realm_name)
  151. ;
  152. ; Match precedence and wildcarding:
  153. ;   If several entries can match the selector...
  154. ;     1) Exact matches take precedence
  155. ;     2) The wildcard match with the "longest portion before the *"
  156. ;        is used.
  157. ;     3) In case of ties, the match with the "longest portion after 
  158. ;         the *" is used.
  159. ;     Thus, if your selector is FOOD/FRUIT/ORANGES.HTM
  160. ;     then the order (with first being chosen before last) is:
  161. ;               FOOD/FRUIT/ORANGES.HTM  (the exact match)
  162. ;               FOOD/FRUIT/*
  163. ;               FOOD/*.HTM          (more characters after the *)
  164. ;               FOOD/*
  165. ;     (these 4 entries can appear in any order in this file, with no
  166. ;      effect on precedence).
  167. ;
  168. ;     Some wildcard examples:
  169. ;                  /BILL/DOG.HTM will match /BILL/DOG.HTM
  170. ;                  /JOE/*  will match /JOE/FOO.HTM
  171. ;                  /JOAN/SRCH.HTM?*  will match /JOAN/SRCH.HTM?search+me
  172. ;                  /JOAN/SRCH.HTM?*  will NOT match /JOAN/SRCH.HTM
  173. ;                       (/JOAN/SRCH.HTM* will match BOTH these examples)
  174. ;                  /PETS/*INDEX.HTM will match
  175. ;                       /PETS/INDEX.HTM, /PETS/CAT/INDEX.HTM and
  176. ;                       /PETS/PUPPY/LAB/INDEX.HTM
  177. ;                    but will NOT match
  178. ;                       /PETS/CAT/PUREBRED.HTM
  179. ;
  180. ;  / and \ :  They are treated the same (all / are converted to \)
  181. ;                       A Leading \ (or /) is stripped.
  182. ;
  183. ;                        - - - - - - - -
  184. ; EXAMPLES:
  185. ;
  186. ; Only superusers have access to the SYSTEM subdirectory
  187. ;SYSTEM\*   NO
  188. ; only inhouse and superusers have access to the PRIVATE directory
  189. ;PRIVATE\*  INHOUSE
  190. ; everyone has access to the PUBLIC\ directory, but documents in the
  191. ; public directory can not contain SELECT or INTERPRET CODE keyphrases.
  192. ;PUBLIC\*  * , NO_CODE
  193. ;
  194. ; Requests, to the host with nickname SWEETSHOP, for selectors that match  RECORDS/*,
  195. ; requires INHOUSE privileges
  196. ; SWEETSHOP//  RECORDS/*  INHOUSE , , ADMIN_REALM
  197. ;
  198. ; The client has to have "one of" VENUS,MARS, or MERCURY privlieges,
  199. ; and "must have" an EARTH privilege, to access the PLANETS/INNER directory.
  200. ; If the client does not have these privilegs, D:\WWW\NOPLANET.HTm
  201. ; is returned (given that ACCESS_FAIL_FILE<>0.
  202. ; PLANETS/INNER/*  MERCURY VENUS &EARTH MARS , , , d:\www\NOPLANET.HTM
  203. ;
  204. ; Allow uploads and deletes in the Uploads directory 
  205. ; UPLOADS/* * , DELETE PUT 
  206. ;
  207. ; this wildcards all requests for getafile.  Add a privilege list if you 
  208. ; want to limit it's use (or, set the NO_GETAFILE_CONTROL variable)
  209. ;GETAFILE*
  210. ;
  211. ; These wildcard the  message box facilitiy.
  212. ; Add a privilege list if desired ..
  213. ;MESSAGE*
  214. ;!ASKMESS*
  215. ;
  216. ; This controls access to the SECRET2 message box
  217. ;!VIEWMESS?messbox=secret2*  INHOUSE
  218. ; all other message boxes are open to everyone with VIEWMESS privileges.
  219. ;!VIEWMESS* VIEWMESSAGES
  220. ;
  221. ; This gives selectors pointing to the GUEST subdirectory (or virtual directory)
  222. ;  a limited purview 
  223. ;GUEST/*  * , NO_SSI NO_SSP , GUEST_REALM
  224. ;
  225. ; This will use the NEW.CTL "advanced options file" with all selectors
  226. ; that point to NEWSTUFF (and below). Note that there are no permissions
  227. ; specified, and no FAIL_FILE.
  228. ;NEWSTUFF/*  * , , EXPERIMENTAL , , NEW.CTL
  229. ;
  230. ; allow caching of GIF files in (or under) the IMG directory; and don't bother
  231. ; checking aliases or the virtual directories, and don't do postfilter stuff
  232. ;IMGS/*.GIF * , CACHE NO_ALIAS NO_VIRTUAL NO_POSTFILTER
  233. ;
  234. ;This gives access to a clients with a privilege of MARTIANS, IONIANS
  235. ;  or one of the privileges in the "additional resource privilege" list
  236. ; associated with the SPACMEN realm (see below), access to files
  237. ; in the STELLAR directory
  238. ;STELLAR/* MARTIANS IONIANS ,  , SPACEMEN
  239. ;
  240. ;
  241. ; and this last one means "for all other files, everyone has access" 
  242. ; (it's a catchall) -- change the second * to whatever privilege list 
  243. ; you want (i.e.; NO, to disallow all access)
  244. ;/* *
  245. ;  ---------------------- Some !REALM examples
  246. ; Note that !REALM entries can appear in any order or location in this file,
  247. ; but there should only be one entry per realm_name.
  248. ;
  249. ; In this example, all selectors with entries that have SEL-specific 
  250. ;  REALM of "REALM1" will have BIGFOOT and SASQUATCH added to 
  251. ;  their (possibly empty) RESOURCE_PRIV list.
  252. ; That is, the client will be allowed access  (to selectors with
  253. ; SEL-specfic realm of REALM1) if they have a privilege
  254. ; of BIGFOOT or SASQUATCH (or one the entries in the RESOURCE_PRIV
  255. ; list).
  256. ;!REALM  REALM1  BIGFOOT  SASQUATCH
  257. ;
  258. ; Note that the SPACEMEN realm has "additional resource
  259. ; privileges" of: VULCANS KLINGONS and FERENGI
  260. ;!REALM  SPACEMEN  VULCANS KLINGONS FERENGI
  261. ;
  262. ; and the SPACEMEN2 realm requires a FEDERATION privileges as well
  263. ; as "one of" the VULCANS KLINGONS or FERENGI
  264. ;!REALM SPACEMEN2 VULCANCS KLINGONS FERENGI &FEDERATION
  265. ;
  266. ; --------- End of examples
  267. IMGS/*.GIF * , CACHE NO_ALIAS NO_VIRTUAL NO_POSTFILTER
  268. /* *
  269.  
  270.